The present invention relates generally to computer systems, and more particularly to protocols and structures for routing information between software entities in a computer system.
Computerized personal organizers are becoming increasingly popular. They perform such functions as keeping calendars, address books, to-do lists, etc. While these functions can be provided by conventional computer systems, they are more conveniently provided by personal organizers which are relatively inexpensive, small, and lightweight (i.e. portable). Personal organizers are available from such companies as Sharp and Casio of Japan.
A relatively new form of computer, the pen-based computer system, holds forth the promise of a marriage of the power of a general purpose computer with the functionality and small size of a personal organizer. A pen-based computer system is typically a small, hand-held computer where the primary method for inputting data includes a "pen" or stylus. A pen-based computer system is commonly housed in a generally rectangular enclosure, and has a dual-function display assembly providing a viewing screen along one of the planar sides of the enclosure. The dual-function display assembly serves as both an input device and an output device. When operating as an input device, the display assembly senses the position of the tip of a stylus on the viewing screen and provides this positional information to the computer's central processing unit (CPU). Some display assemblies can also sense the pressure of the stylus on the screen to provide further information to the CPU. When operating as an output device, the display assembly presents computer-generated images on the screen.
The dual-function displays of pen-based computer systems permit users to operate the computers as computerized notepads. For example, graphical images can be input into the pen-based computer by merely moving the stylus across the surface of the screen. As the CPU senses the position and movement of the stylus, it generates a corresponding image on the screen to create the illusion that the stylus is drawing the image directly upon the screen, i.e. that the stylus is "inking" an image on the screen. With suitable recognition software, the "ink" can be identified as text and numeric information.
Pen-based computer systems, like other computer systems, require some method of obtaining and routing information needed by the various software entities within the system. Examples of such information include text or graphic forms, dictionary entries, facsimile drivers, etc. These various pieces of information should be provided in a format that is consistent from one source to the next so that it can be processed consistently by the various applications or utilities within the computer system. The system for routing such information typically resides in the application or utility requiring the information.
In a typical operating system, applications requiring resources look to various system-wide managers. For example, an application would find fonts in a font manager and dictionaries in a dictionary manager. The user installs the fonts, dictionaries, and other resources in the appropriate manager in order for the resource to be usable by the application. Once, the fonts, dictionaries, and other resources have been installed, their association with the application is not maintained.
Although some existing computer systems have considerable convenience and flexibility, there remains a need for systems that provide universal methods of loading information from multiple media and automatically dispatch and remove that information when it is received.